<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>

    <style>
      /* 常规reset动作 */
      * {
        margin: 0;
        padding: 0;
      }

      html,
      body {
        width: 100%;
        height: 100%;
      }

      ul,
      ol,
      li {
        list-style-type: none;
      }

      #box {
        width: 800px;
        height: 600px;
        border: 1px solid black;
        margin: 50px auto;

        display: flex;
        flex-direction: column;
      }

      #box > ul {
        width: 100%;
        height: 60px;
        /* background-color: coral; */
        display: flex;
      }

      #box > ul > li {
        /* width: 100%; */
        flex-grow: 1;
        height: 100%;
        background-color: orange;
        display: flex;
        justify-content: center;
        align-items: center;
        color: white;
        font-size: 20px;
      }

      #box > ul > li.active {
        background-color: darkorange;
      }

      #box > ol {
        width: 100%;
        /* height: 50px; */
        flex-grow: 1;
        background-color: burlywood;
        position: relative;
      }

      #box > ol > li {
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        display: none;
        justify-content: center;
        align-items: center;
        color: white;
        font-size: 50px;
      }

      #box > ol > li.active {
        display: flex;
      }
    </style>
  </head>

  <body>
    <div id="box">
      <ul id="ulTabs">
        <li class="active">1</li>
        <li>2</li>
        <li>3</li>
      </ul>
      <ol id="olContents">
        <li class="active">1</li>
        <li>2</li>
        <li>3</li>
      </ol>
    </div>

    <script>
      // 找出所有的tab标签+内容
      const box = document.querySelector("#box");
      const tabs = box.querySelectorAll("ul>li");
      const contents = box.querySelectorAll("ol>li");

      /* 给所有标签添加点击事件 */
      tabs.forEach((tab, index) => {
        tab.onclick = function (e) {
          // 显式一下这个tab的序号
          console.log(index);

          /* 当前点击的标签高亮 */
          //   tabs.forEach((t,i) => {
          //     // 如果t的序号与index相同则添加active样式
          //     if(i===index){
          //         t.classList.add("active")
          //     }
          //     // 否则取消active样式
          //     else{
          //         t.classList.remove("active")
          //     }
          //   });

          // 全部取消高亮
          tabs.forEach((t) => t.classList.remove("active"));
          // 找出序号为index的标签添加高亮
          Array.from(tabs)
            .find((t, i) => i === index)
            .classList.add("active");

          /* 显示序号相同的content内容 */
          // 将所有内容li都去掉active样式
          contents.forEach((c) => c.classList.remove("active"));

          // 再将序号为index的内容li添加active样式
          contents[index].classList.add("active");
        };
      });
    </script>
  </body>
</html>
